]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
5 years agoworkspace: Only change opacity of minimized windows during transitions
Sebastian Keller [Mon, 17 May 2021 17:40:12 +0000 (19:40 +0200)]
workspace: Only change opacity of minimized windows during transitions

Dragging a window preview in the overview is supposed to change the
opacity of the dragged actor. This however fails for minimized windows,
because Workspace::allocate() also changes the opacity of those. The
allocation gets triggered by removing the window actor from the
workspace when starting the drag. Avoid this by only changing the
opacity during the overview transitions.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4292

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1847>

5 years agounlockDialog: Honor switch user lockdown settings
Ray Strode [Thu, 6 May 2021 13:32:48 +0000 (09:32 -0400)]
unlockDialog: Honor switch user lockdown settings

At the moment user switching functionality is controlled by two
settings:

org.gnome.desktop.lockdown disable-user-switching

for the panel when the session is unlocked, and

org.gnome.desktop.screensaver user-switch-enabled

for the unlock dialog when the session is locked.

Having the lockdown setting not apply when the screen is
locked is counterintuitive.

This commit makes the unlock dialog honor both settings.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1833>

5 years agotheme: No stroke on entries
Jakub Steiner [Thu, 22 Jul 2021 11:44:12 +0000 (13:44 +0200)]
theme: No stroke on entries

- Tobias' mini guadec initiative

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1924>

5 years agoUpdate Galician translation
Fran Dieguez [Thu, 22 Jul 2021 06:14:15 +0000 (06:14 +0000)]
Update Galician translation

5 years agoUpdate Russian translation
Alexey Rubtsov [Wed, 21 Jul 2021 10:22:24 +0000 (10:22 +0000)]
Update Russian translation

5 years agotheme: Add focus indication for dnd switch in message list controls
vanadiae [Tue, 20 Jul 2021 12:13:40 +0000 (14:13 +0200)]
theme: Add focus indication for dnd switch in message list controls

It currently is difficult to see what's being focused in the messages list
currently because of that.

Fixes #2447

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1920>

5 years agopopupMenu: Remove can_focus=True from Switch
vanadiae [Tue, 20 Jul 2021 12:11:28 +0000 (14:11 +0200)]
popupMenu: Remove can_focus=True from Switch

Since this is a bin and not a button, and it doesn't have any click/keyboard
handling on its own (as in that case it needs a parent button wired like in
the messages list controls), it is confusing that it has can_focus set to
True. To avoid any confusion, this commit removes it without breaking anything
since it had no real use.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1920>

5 years agoci: Move FDO_UPSTREAM_REPO to global scope
Florian Müllner [Mon, 19 Jul 2021 11:56:55 +0000 (13:56 +0200)]
ci: Move FDO_UPSTREAM_REPO to global scope

ci-fairy also uses the variable to set the upstream remote that is used
to build the commit range to check.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1922>

5 years agoci: Bump ci-templates image
Florian Müllner [Mon, 19 Jul 2021 11:20:47 +0000 (13:20 +0200)]
ci: Bump ci-templates image

Before building a container image, the code checks that the
repository's container registry is enabled. That check was
broken a while ago, update the image to pull in the fix.

See https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/39

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1922>

5 years agobuild: Bump gjs dependency to 1.68.1
Sebastian Keller [Mon, 24 May 2021 13:57:06 +0000 (15:57 +0200)]
build: Bump gjs dependency to 1.68.1

The changes in 58ed969d need gjs 1.68.1 to work, otherwise this results
in the background image not getting loaded.

Related https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4138
Related https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/595

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1857>

5 years agodocs: Add README section for default branch
Florian Müllner [Wed, 14 Jul 2021 19:10:23 +0000 (21:10 +0200)]
docs: Add README section for default branch

We are about to change it, so briefly outline how to update local
checkouts.

(Copied from glib)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1914>

5 years agoci: Fallback to HEAD when checking out branch
Florian Müllner [Wed, 14 Jul 2021 18:10:44 +0000 (20:10 +0200)]
ci: Fallback to HEAD when checking out branch

... instead of hardcoding origin/master as the default branch.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1914>

5 years agoUpdate links to use HEAD instead of master
Florian Müllner [Wed, 14 Jul 2021 18:07:22 +0000 (20:07 +0200)]
Update links to use HEAD instead of master

That way the link will keep working when projects change their
default branch name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1914>

5 years agojs: Replace removed Meta.quit()
Florian Müllner [Fri, 16 Jul 2021 19:39:51 +0000 (21:39 +0200)]
js: Replace removed Meta.quit()

This one was moved to Meta.Context as well.

I don't know why the `debugexit` command quit with an error code
(it dates back all the way to commit 98bd590a5d). Terminating on
request by the user doesn't sound like an error, so don't replicate
that particular behavior.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1917>

5 years agomain: Replace Meta.register_with_session()
Florian Müllner [Thu, 15 Jul 2021 17:46:47 +0000 (19:46 +0200)]
main: Replace Meta.register_with_session()

The functionality moved into the new Meta.Context.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1917>

5 years agoshell/global: Expose MetaContext as property
Florian Müllner [Fri, 16 Jul 2021 18:58:27 +0000 (20:58 +0200)]
shell/global: Expose MetaContext as property

We'll likely have to interact a bit with the newly added Meta.Context
object, so add a convenience property that gives us direct access
instead of getting it from the display every time we need it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1917>

5 years agoUpdate Indonesian translation
Kukuh Syafaat [Sat, 17 Jul 2021 14:56:16 +0000 (14:56 +0000)]
Update Indonesian translation

5 years agolocation: Split `Location.Indicator` into a seperate `GeoclueAgent`
Ian Douglas Scott [Fri, 16 Jul 2021 16:23:58 +0000 (09:23 -0700)]
location: Split `Location.Indicator` into a seperate `GeoclueAgent`

Before this, creating a separate instance of `Location.Indicator` failed
because it tries to create export the same DBus path.

This is useful for extensions adding panels on multiple monitors. But
it also seems like a cleaner design to separate the indicator widget
from the logically separate role as a Geoclue agent.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1919>

5 years agolocation: Add GObject properties to `Location.Indicator`
Ian Douglas Scott [Fri, 16 Jul 2021 16:21:22 +0000 (09:21 -0700)]
location: Add GObject properties to `Location.Indicator`

Makes `enabled`, `in-use`, and `max-accuracy-level` GObject properties
that can be used for property binding, etc.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1919>

5 years agoControlsManagerLayout: Allocate respecting the work area
Marco Trevisan (Treviño) [Fri, 18 Jun 2021 17:51:02 +0000 (19:51 +0200)]
ControlsManagerLayout: Allocate respecting the work area

We build controls layout using the whole monitor vertical space as
available, however extensions or external apps in X11 may reduce the
workarea size horizontally and the shell should always take care of it.

Given that we're already assuming that the allocation is monitor-based
and that we're adjusting it to the workarea, we can just make it more
explicit by using a workarea box that is used as the allocation area.

As per this, we also apply the same logic of applied to the vertical
dimension to the horizontal one.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>

5 years agoControlsManagerLayout: Consider workarea height for the available space
Marco Trevisan (Treviño) [Fri, 18 Jun 2021 17:47:24 +0000 (19:47 +0200)]
ControlsManagerLayout: Consider workarea height for the available space

We always consider the whole workarea space to be available when
computing the controls manager layout, however this may not be the truth
when using extensions such as Window List which are reducing the work
area size.

So take care of it, reducing the box height.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4330
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>

5 years agoControlsManagerLayout: Use the workarea size to compute the available height
Marco Trevisan (Treviño) [Fri, 18 Jun 2021 17:28:55 +0000 (19:28 +0200)]
ControlsManagerLayout: Use the workarea size to compute the available height

To compute the available height for the layout we're currently using the
panel position, while this works for the current and default setup, the
shell may be configured to use a different workarea, so we should rely on
it to compute the available space, instead of a specific widget.

So get the current monitor index for the current view and use its coordinates
instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>

5 years agoWorkspaceBackground: Fully take care of workarea geometry on allocation
Marco Trevisan (Treviño) [Fri, 18 Jun 2021 17:11:34 +0000 (19:11 +0200)]
WorkspaceBackground: Fully take care of workarea geometry on allocation

The background group is currently allocated taking care of the workarea
x, y offset but not of its width/height and this may lead to building a
wrongly sized workspace view when the workarea size is not matching the
monitor size (like when there are struts set).

So, take care of the difference between the workarea and monitor
absolute end coordinates to allocate the background scaled content box.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>

5 years agostatus/network: Do not disable on login screen
Florian Müllner [Mon, 7 Jun 2021 22:19:26 +0000 (00:19 +0200)]
status/network: Do not disable on login screen

We currently disable all network items on both the lock- and login
screen. While it makes sense to be very restrictive on the lock screen,
there are some (fringe) use cases for being more permissive on the
login screen (like remote home directories only accessible via VPN).

There's precedence with the power-off/restart actions to be less
restrictive on the login screen, and since we started respecting
the `network-control` polkit action, it's possible to restore the
old behavior if desired.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>

5 years agosessionMode: Enable networkAgent on login screen
Florian Müllner [Thu, 10 Jun 2021 21:12:27 +0000 (23:12 +0200)]
sessionMode: Enable networkAgent on login screen

We will soon enable the network sections in the status menu on the
login screen, so enable the network agent to handle authentication
requests (like wifi/VPN passwords).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>

5 years agostatus/network: Consider network-control action
Florian Müllner [Mon, 7 Jun 2021 22:17:48 +0000 (00:17 +0200)]
status/network: Consider network-control action

NetworkManager installs a `network-control` polkit action that can
be used to disallow network configuration, except that we happily
ignore it. Add it to the conditions that turn a network section
insensitive.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>

5 years agostatus/network: Only list wifi networks that can be activated
Florian Müllner [Mon, 7 Jun 2021 16:28:32 +0000 (18:28 +0200)]
status/network: Only list wifi networks that can be activated

Setting up a connection for an Enterprise WPA(2) encrypted wireless
network requires Settings. That's not available when windows are
disabled via the session mode, so filter out affected entries.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>

5 years agostatus/network: Disable modem connection when windows aren't allowed
Florian Müllner [Mon, 7 Jun 2021 15:49:57 +0000 (17:49 +0200)]
status/network: Disable modem connection when windows aren't allowed

The item launches the corresponding Settings panel when activated, which
doesn't work when windows are disabled by the session mode. Rather than
failing silently, turn the item insensitive.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>

5 years agoci: Add job for pushing coverity reports
Carlos Garnacho [Wed, 14 Jul 2021 17:21:34 +0000 (19:21 +0200)]
ci: Add job for pushing coverity reports

This job does:
1. Download the coverity bundle and untar it in a cached location
2. Build GNOME Shell using clang and the coverity tool
3. Compress the coverity report
4. Upload for analysis

In a similar setup to that of Mutter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1913>

5 years agoci: Funnel package list to be built correctly
Carlos Garnacho [Wed, 14 Jul 2021 21:16:10 +0000 (23:16 +0200)]
ci: Funnel package list to be built correctly

It was on one hand using multi-line piping (`|`) and trying to
compensate with \ to escape multiple lines, this lead to:

  No match for argument: \

Also, the quoting around pkgconfig() arguments would lead to
double quoting at the shell level, thus:

  No match for argument: 'pkgconfig(gio-2.0)'

Fix both by using multi-line-turns-single-line piping (`>`)
and dropping the unnecessary quotes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1913>

5 years agoswipeTracker: Use unaccelerated deltas
Alexander Mikhaylenko [Sun, 28 Feb 2021 13:59:31 +0000 (18:59 +0500)]
swipeTracker: Use unaccelerated deltas

Unaccelerated deltas make sure the gesture works the same regardless of how
fast the fingers move; this is what we were already doing for scrolling.

Remove the swipe multiplier as the deltas already match scrolling other than
the 1/10 multiplier Clutter applies to scrolling specifically.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1763>

5 years agosearch: Exclude hidden results from keynav
Florian Müllner [Thu, 15 Jul 2021 16:48:34 +0000 (18:48 +0200)]
search: Exclude hidden results from keynav

Since commit 3fb02843, we no longer skip allocation for
results that don't fit the width, and give them a 0x0
allocation instead.

That has the unintended side effect of those children now
being available to keynav. There are cases where we want
0-sized actors to be part of the focus chain (e.g. FocusTrap),
but this isn't one of them, so explicitly exclude 0-sized
children from keynav.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4470

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1916>

5 years agomain: Take over setting signal handlers and changing dir
Jonas Ådahl [Fri, 2 Jul 2021 15:20:27 +0000 (17:20 +0200)]
main: Take over setting signal handlers and changing dir

MetaContext isn't doing this for us anymore, so do it ourself.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1840>

5 years agoPort to MetaContext
Jonas Ådahl [Thu, 6 May 2021 21:17:40 +0000 (23:17 +0200)]
Port to MetaContext

This ports over gnome-shell and the theme test case to MetaContext,
instead of the various functions that were available before.

The test case is changed to use the special test context, used to
construct contexts for testing. It's part of a shared libary separate
from the main libmutter one.

This enables building mutter tests during CI, as the test framework is
needed by some of gnome-shell's tests.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1840>

5 years agost/test-theme: Rename theme context variable
Jonas Ådahl [Thu, 6 May 2021 21:16:31 +0000 (23:16 +0200)]
st/test-theme: Rename theme context variable

We will later get a pointer to a MetaContext, so avoid that future
naming conflict.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1840>

5 years agoUpdate Persian translation
Danial Behzadi [Wed, 14 Jul 2021 07:22:55 +0000 (07:22 +0000)]
Update Persian translation

5 years agoUpdate Slovenian translation
Matej Urbančič [Tue, 13 Jul 2021 19:31:32 +0000 (19:31 +0000)]
Update Slovenian translation

5 years agoshellInfo: Don't destroy source on undo
Florian Müllner [Thu, 8 Jul 2021 17:23:38 +0000 (19:23 +0200)]
shellInfo: Don't destroy source on undo

Destroying the source from an action callback will result in the
notification being destroyed twice:

 - source.destroy() destroys all its notifications

 - a notification destroys itself after an action
   was activated

This results in unwanted log spam when attempting to dispose the
notification for a second time.

There is actually no good reason for destroying the source explicitly,
as sources already self-destruct with their last notification.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4457

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1908>

5 years agomessageTray: Always remove destroyed banners
Florian Müllner [Thu, 8 Jul 2021 17:10:05 +0000 (19:10 +0200)]
messageTray: Always remove destroyed banners

Currently we only mark the banner as removed if it is destroyed
while in SHOWN or SHOWING state, but not if we're already HIDING
(for example in response to `NotificationBanner::done-displaying`).

If this happens, we'll try to destroy the notification again at
the end of the transition, which leads to (harmless but annoying)
log spam since Notifications were turned into GObjects (that are
disposed when destroyed).

Address this by always marking destroyed banners as removed, while
still only triggering a state update while shown (or in the process
of being shown).

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4457

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1908>

5 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 13 Jul 2021 09:47:20 +0000 (11:47 +0200)]
Updated Spanish translation

5 years agoUpdate Catalan translation
Jordi Mas [Sun, 11 Jul 2021 19:42:55 +0000 (21:42 +0200)]
Update Catalan translation

5 years agoUpdate Hebrew translation
Yaron Shahrabani [Sun, 11 Jul 2021 19:38:08 +0000 (19:38 +0000)]
Update Hebrew translation

5 years agoUpdate Bulgarian translation
Alexander Shopov [Sun, 11 Jul 2021 08:29:16 +0000 (08:29 +0000)]
Update Bulgarian translation

5 years agoUpdate Portuguese translation
Hugo Carvalho [Fri, 9 Jul 2021 14:55:29 +0000 (14:55 +0000)]
Update Portuguese translation

5 years agooverviewControls: Fix warning on shutdown
Florian Müllner [Thu, 8 Jul 2021 18:42:55 +0000 (20:42 +0200)]
overviewControls: Fix warning on shutdown

ClutterActor unsets its layout manager's :container property during
dispose, so the corresponding vfunc should handle being passed NULL.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1909>

5 years agoiconGrid: Disconnect signals on destroy
Florian Müllner [Thu, 8 Jul 2021 18:36:14 +0000 (20:36 +0200)]
iconGrid: Disconnect signals on destroy

Otherwise the handler will trip over unset properties on an object
that is being disposed. Avoid the resulting log spam by disconnecting
the handler in question.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1909>

5 years agost/scroll-bar: Fix vertical scrollbars in RTL locales
Florian Müllner [Thu, 8 Jul 2021 21:42:49 +0000 (23:42 +0200)]
st/scroll-bar: Fix vertical scrollbars in RTL locales

Commit 0db41a3773e fixed the handling of horizontal scrollbars in
RTL locales, but accidentally applied the translation to *all*
scrollbars when handling handle drags and paging. Fix this by
limiting the mirroring to horizontal bars.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4458

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1910>

5 years agoUpdate Occitan translation
Quentin PAGÈS [Thu, 8 Jul 2021 19:43:24 +0000 (19:43 +0000)]
Update Occitan translation

(cherry picked from commit 2d0ee51639b0e267cb5230c841003f0985977cef)

5 years agoci: Bump to F34
Jonas Ådahl [Wed, 7 Jul 2021 10:03:53 +0000 (12:03 +0200)]
ci: Bump to F34

This bumps both the mutter image to the F34 one, as well as the one used
for review.

This also bumps ci-templates hashes, so that we can use
FDO_DISTRIBUTION_PACKAGES without installing weak dependencies.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1906>

5 years agomain: Use mallinfo2 when available at build time
Robert Mader [Wed, 31 Mar 2021 23:08:12 +0000 (01:08 +0200)]
main: Use mallinfo2 when available at build time

`mallinfo` has been deprecated in favor of `mallinfo2`:
```
The fields of the mallinfo structure that is returned by the
older mallinfo() function are typed as int.  However, because
some internal bookkeeping values may be of type long, the
reported values may wrap around zero and thus be inaccurate.
```

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1786>

5 years agoUpdate Portuguese translation
Hugo Carvalho [Wed, 7 Jul 2021 13:34:04 +0000 (13:34 +0000)]
Update Portuguese translation

5 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Tue, 6 Jul 2021 13:55:00 +0000 (13:55 +0000)]
Update Brazilian Portuguese translation

5 years agoUpdate Russian translation
Alexey Rubtsov [Tue, 6 Jul 2021 10:10:18 +0000 (10:10 +0000)]
Update Russian translation

5 years agoUpdate Ukrainian translation
Yuri Chornoivan [Tue, 6 Jul 2021 04:02:36 +0000 (04:02 +0000)]
Update Ukrainian translation

5 years agoUpdate Romanian translation
Florentina Mușat [Mon, 5 Jul 2021 19:23:12 +0000 (19:23 +0000)]
Update Romanian translation

5 years agodata: Register switch-to-application shortcuts with g-c-c
Florian Müllner [Wed, 7 Apr 2021 19:18:39 +0000 (21:18 +0200)]
data: Register switch-to-application shortcuts with g-c-c

The <super>1-9 shortcuts to activate dash favorites were a feature
from Ubuntu's Unity that caused some distress as the same shortcuts
were used by some users to activate workspaces.

Registering the new shortcuts with control-center at least gives
those users a GUI option for resolving the conflict.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1250

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1797>

5 years agoUpdate Bulgarian translation
Alexander Shopov [Sun, 4 Jul 2021 12:47:37 +0000 (12:47 +0000)]
Update Bulgarian translation

5 years agoUpdate Greek translation
Efstathios Iosifidis [Fri, 2 Jul 2021 20:51:19 +0000 (20:51 +0000)]
Update Greek translation

5 years agotheme: Remove background-color from .workspace-background
Daniel van Vugt [Thu, 27 May 2021 09:47:14 +0000 (17:47 +0800)]
theme: Remove background-color from .workspace-background

It's not visible because it's covered by the actual wallpaper, so
not rendering it eliminates most of the render time for
`workspace-background`, without changing its appearance.

When animating the overview by tapping Super, this reduces the
shell's overall render time by about 15%.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1904>

5 years agost/theme-node-drawing: Render box-shadow independently of background-color
Daniel van Vugt [Thu, 27 May 2021 09:12:15 +0000 (17:12 +0800)]
st/theme-node-drawing: Render box-shadow independently of background-color

Until now, the absence of a `background-color` would cause `box-shadow`s
to be invisible. That was a bug because `box-shadow` is meant to be either
the color specified in `box-shadow`, or if none was specified then the
foreground `color`.

There is nothing in the spec that says the `box-shadow` rendering should
depend on `background-color`, so separate them. This ensures `box-shadow`
is rendered even when `background-color` is absent or transparent.

https://www.w3.org/TR/css-backgrounds-3/#box-shadow

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1904>

5 years agoshell: Drop dependency on ClutterX11 headers/gir
Carlos Garnacho [Tue, 11 May 2021 10:44:20 +0000 (12:44 +0200)]
shell: Drop dependency on ClutterX11 headers/gir

This can be replaced with MetaX11Display nowadays.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1841>

5 years agost/private: Set sampling_radius to match the blur radius
Daniel van Vugt [Thu, 24 Jun 2021 10:19:09 +0000 (18:19 +0800)]
st/private: Set sampling_radius to match the blur radius

From [the spec](https://www.w3.org/TR/css-backgrounds-3/#shadow-blur):

> the resulting shadow must approximate (with each pixel being within 5%
> of its expected value) the image that would be generated by applying to
> the shadow a Gaussian blur with a standard deviation [sigma] equal to
> half the blur radius

This does not change the value of `sigma`, it only corrects the value of
`sampling_radius` used to size the shadow texture. Since the texture is
no longer being slightly oversized it won't get scaled down when rendered
according to the dimensions provided by `st_shadow_get_box` in
`_st_paint_shadow_with_opacity`.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4409
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1897>

5 years agost/widget: Include the shadow in the paint volume
Daniel van Vugt [Thu, 24 Jun 2021 11:06:33 +0000 (19:06 +0800)]
st/widget: Include the shadow in the paint volume

Having an inaccurate paint volume didn't matter until ae338af1e8, but
after that having too small a paint volume resulted in apparent clipping.
Not because `clip_to_allocation` is set, but because the offscreen
framebuffer is sized to fit the paint volume only.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1897>

5 years agoibusCandidatePopup: Use plain actor as dummy cursor
Florian Müllner [Tue, 29 Jun 2021 19:17:27 +0000 (21:17 +0200)]
ibusCandidatePopup: Use plain actor as dummy cursor

Now that source actors no longer have to be widgets, we can use
a plain actor for the dummy cursor and save a bit of overhead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1903>

5 years agoboxpointer: Handle non-widget source actors
Florian Müllner [Tue, 29 Jun 2021 18:13:00 +0000 (20:13 +0200)]
boxpointer: Handle non-widget source actors

There is no convincing reason why source actors must be widgets,
so lift that restriction.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1903>

5 years agoMagnifier: Filter caret tracking in gnome magnifier
Lee [Sat, 24 Apr 2021 17:03:35 +0000 (18:03 +0100)]
Magnifier: Filter caret tracking in gnome magnifier

Add a check to filter out caret tracking events that result in a caret
location of 0,0.

Fixes #4177

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1823>

5 years agostatus/power: Always sync after creating proxy
Florian Müllner [Mon, 28 Jun 2021 16:31:13 +0000 (18:31 +0200)]
status/power: Always sync after creating proxy

Otherwise the menu remains in an inconsistent state in case of an
error, until something else triggers a call to _sync() (like a
settings change).

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4431

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1901>

5 years agostatus/power: Update to new coding style
Florian Müllner [Mon, 28 Jun 2021 16:29:23 +0000 (18:29 +0200)]
status/power: Update to new coding style

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4431

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1901>

5 years agomagnifier: Remove needless actor
Carlos Garnacho [Mon, 28 Jun 2021 16:06:47 +0000 (18:06 +0200)]
magnifier: Remove needless actor

For the pointer clone, we actually have 2 actors (one that contains
the sprite, another that moves around). These can just be the same.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1902>

5 years agomagnifier: Add method to enable/disable crosshairs
Carlos Garnacho [Mon, 28 Jun 2021 12:19:15 +0000 (14:19 +0200)]
magnifier: Add method to enable/disable crosshairs

These do some some signals connection and monitor layout tracking
that we forget to disconnect when the magnifier is disconnected.
This causes warnings if enabling the magnifier, disabling it,
switching to another tty, and back. (Presumably also happens for
monitor hotplugs).

This signal should just stay connected as long as it's needed,
so add a setEnabled() method on the CrossHairs actor that we
can hook on the magnifier.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1902>

5 years agomagnifier: Unset variable holding GSource ID
Carlos Garnacho [Mon, 28 Jun 2021 12:17:25 +0000 (14:17 +0200)]
magnifier: Unset variable holding GSource ID

Otherwise we try to remove the no longer existing GSource
later on.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1902>

5 years agoboxpointer: Disable unredirection while visible
Florian Müllner [Mon, 28 Jun 2021 09:57:05 +0000 (11:57 +0200)]
boxpointer: Disable unredirection while visible

Some popovers like the ibus candidate popover may be requested while
showing an unredirected fullscreen window. Disable unredirection
while the popover is visible so that it can actually be shown.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1900>

5 years agointrospect: Allowlist GNOME portal
Georges Basile Stavracas Neto [Mon, 21 Jun 2021 19:32:50 +0000 (16:32 -0300)]
introspect: Allowlist GNOME portal

It too implements app listing and introspection, so list it in the allowlist.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1894>

5 years agoshellDBus: Properly return from D-Bus methods
Florian Müllner [Thu, 17 Jun 2021 13:42:14 +0000 (15:42 +0200)]
shellDBus: Properly return from D-Bus methods

When implementing a D-Bus method synchronously, regular JS methods are
used. That is, whatever the method returns is passed as return value
to the method invocation.

However for asynchronous implementations, we need to explicitly return
a value to the invocation, otherwise the caller will wait until it times
out eventually.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1891>

5 years agoshellDBus: Remove bogus return statements
Florian Müllner [Thu, 17 Jun 2021 13:41:20 +0000 (15:41 +0200)]
shellDBus: Remove bogus return statements

g_dbus_method_invocation_return_value() doesn't have a return value.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1891>

5 years agoshellDBus: Fix FocusApp()
Florian Müllner [Thu, 17 Jun 2021 20:09:14 +0000 (22:09 +0200)]
shellDBus: Fix FocusApp()

The appDisplay used to be accessible via the viewSelector, but
that is gone now. Commit c09c070b15 adjusted the code, but the
replacement uses a Main.overview.appDisplay accessor that never
existed, whoops.

Fix this by exposing a new selectApp() method directly on the
overview, so we don't have to shuffle the appDisplay through
controls → overviewActor → overview.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1891>

5 years agodata: Remove old GConf migration files
Florian Müllner [Thu, 17 Jun 2021 19:31:20 +0000 (21:31 +0200)]
data: Remove old GConf migration files

The migration happened in GNOME 3.6 over 9 years ago. The chances
that someone migrates from 3.0.x or 3.2.x to 41 are very much zero.
And if it were to happen, it wouldn't work anyway, because we stopped
using a separate overrides schema.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1890>

5 years agoUpdate Russian translation
Julia Dronova [Thu, 17 Jun 2021 14:52:00 +0000 (14:52 +0000)]
Update Russian translation

5 years agowindowManager: Remove timeout on starting X11 services
Olivier Fourdan [Tue, 15 Jun 2021 06:50:56 +0000 (08:50 +0200)]
windowManager: Remove timeout on starting X11 services

With Xwayland started on demand, mutter/gnome-shell will spawn Xwayland
and GNOME settings daemon Xsettings.

Currently, gnome-shell uses a timeout of 5 seconds before canceling the
launch and declare failure to start X11 services.

While 5 seconds may seem like a lot of time, when this is executed on a
virtual machine part of a QA tests under load, this causes random
failures.

There is no good value here, we could increase the timeout but it will
always remain racy. Instead, remove the timeout, systemd itself already
has a timeout mechanism (with a much longer wait time).

Thanks to Benjamin Berg <bberg@redhat.com> for finding the root cause
and suggesting the fix.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1888>

5 years agolookingGlass: Use symbolic icons on the toolbar
Chris Mayo [Sun, 13 Jun 2021 15:36:50 +0000 (16:36 +0100)]
lookingGlass: Use symbolic icons on the toolbar

Replace gtk-color-picker, a private GTK 3 icon, with
find-location-symbolic as used in GTK Inspector.

As suggested by Daniel van Vugt.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1671>

5 years agoshell/app: Keep cancellable after cancelled proxy request
Florian Müllner [Sun, 13 Dec 2020 17:57:44 +0000 (18:57 +0100)]
shell/app: Keep cancellable after cancelled proxy request

When a GTK app is started, we create a corresponding GtkApplication
proxy to monitor the app's busy state. If the app is stopped before
the proxy request finishes, we cancel the cancellable before clearing
the running state.

Usually we clear the cancellable once it is no longer needed, namely
when we got the proxy. However when the request was cancelled, the
cancellable has already been cleared, and if there's a cancellable,
it belongs to another request (because the window was added again,
for example when moving between monitors).

Leave that cancellable alone in that case, so we can cancel the
second request as well if necessary to avoid a crash when trying
to set the proxy on a cleared running state.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1962

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1885>

5 years agooverviewControls: Avoid hiding early AppDisplay when transitioning to Session
Harshad Gavali [Sat, 12 Jun 2021 19:11:52 +0000 (00:41 +0530)]
overviewControls: Avoid hiding early AppDisplay when transitioning to Session

When transitioning from AppDisplay to Session,
AppDisplay should be visible throughout the transition.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4214

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1886>

5 years agolookingGlass: Only pop modal after the transition
Florian Müllner [Wed, 9 Jun 2021 23:55:31 +0000 (01:55 +0200)]
lookingGlass: Only pop modal after the transition

Right now we pop the modal immediately when closing, so the key-release
event of the Escape key ends up in the focus window which may consume it
for leaving fullscreen mode or similar.

We can avoid that in many cases by keeping the modal grab until the end
of the transition, as the key-release event will then likely occur while
the grab is still in place (provided animations are enabled).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1880>

5 years agoUpdate Portuguese translation
Hugo Carvalho [Wed, 9 Jun 2021 18:28:13 +0000 (18:28 +0000)]
Update Portuguese translation

(cherry picked from commit 3e5c7ce5f76fd16e38065c6f4db49fc2676809cf)

5 years agolookingGlass: Avoid a little bit of RedBorderEffect overdraw
Daniel van Vugt [Wed, 9 Jun 2021 06:21:21 +0000 (14:21 +0800)]
lookingGlass: Avoid a little bit of RedBorderEffect overdraw

The left edge of the box was redrawing the bottom left corner when
the bottom edge had already done so.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1876>

5 years agolookingGlass: Paint the RedBorderEffect right edge the correct height
Daniel van Vugt [Wed, 9 Jun 2021 06:09:51 +0000 (14:09 +0800)]
lookingGlass: Paint the RedBorderEffect right edge the correct height

It was being painted one box thickness (`width`) too tall so you could
see a rendering glitch below the bottom right corner until now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1876>

5 years agodbusServices/screencast: Handle pipeline failures gracefully
Florian Müllner [Wed, 9 Jun 2021 14:42:52 +0000 (16:42 +0200)]
dbusServices/screencast: Handle pipeline failures gracefully

If parsing the pipeline fails for some reason, we currently end up
with a zombie session that leads to a stuck recording indicator in
gnome-shell.

Instead, properly tear down the session to allow mutter and gnome-shell
to correctly update their state.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1878>

5 years agoUpdate Catalan translation
Jordi Mas [Tue, 8 Jun 2021 17:42:52 +0000 (19:42 +0200)]
Update Catalan translation

5 years agoportal: Own org.gnome.Shell.Portal for the access portal
Georges Basile Stavracas Neto [Sat, 5 Jun 2021 12:22:00 +0000 (09:22 -0300)]
portal: Own org.gnome.Shell.Portal for the access portal

org.freedesktop.impl.portal.desktop.gnome will be used for the
GNOME implementation of desktop portals in the future, so make
sure GNOME Shell's implementation of the access portal won't
conflict.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1872>

5 years agost/icon: Rebuild shadows when the texture dimensions change
Daniel van Vugt [Thu, 3 Jun 2021 12:16:12 +0000 (20:16 +0800)]
st/icon: Rebuild shadows when the texture dimensions change

Not when the main actor dimensions change. So now the shadows don't get
constantly regenerated during the overview animation. In my case this
reduces the render time of the overview animation (tapping Super) by
approximately 10% with 2 windows, or 20% with 10 windows.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1869>

5 years agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Thu, 3 Jun 2021 02:10:16 +0000 (02:10 +0000)]
Update Chinese (Taiwan) translation

(cherry picked from commit e8eabad6ab0e99d893875fa7edad3f9de28b0841)

5 years agodnd: Immediately start drag done by pointer devices
Georges Basile Stavracas Neto [Mon, 31 May 2021 13:12:05 +0000 (10:12 -0300)]
dnd: Immediately start drag done by pointer devices

Unlike touch screens, pointer devices (e.g. cursor, touchpad) are
basically never used to switch app grid pages, which is the main
use case for the drag threshold. This point was recently raised
as design feedback.

Immediately start drags when using pointer devices.

See https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3802#note_1124701

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4287

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1866>

5 years agodnd: Factor out calculation into a variable
Georges Basile Stavracas Neto [Mon, 31 May 2021 00:32:54 +0000 (21:32 -0300)]
dnd: Factor out calculation into a variable

Another trivial cleanup. This is in preparation for next commit, that
will expand on this if clause, and will make it a bit more complicated.
Using a variable here makes it easier to read.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1866>

5 years agodnd: Return Clutter.EVENT_STOP instead of true
Georges Basile Stavracas Neto [Mon, 31 May 2021 00:27:51 +0000 (21:27 -0300)]
dnd: Return Clutter.EVENT_STOP instead of true

Trivial cleanup.

Clutter.EVENT_STOP is more semantic, and this 'true' is inconsistent
with the 'return Clutter.EVENT_PROPAGATE;' a few lines above.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1866>

5 years agoworkspaceAnimation: Allow long swipes in session
Georges Basile Stavracas Neto [Sun, 30 May 2021 15:02:12 +0000 (12:02 -0300)]
workspaceAnimation: Allow long swipes in session

As per design feedback, allow long swipes in the session too.

See https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3802#note_1124701

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1865>

5 years agobuild: Fix manpage generation at dist time
Florian Müllner [Tue, 25 May 2021 14:31:29 +0000 (16:31 +0200)]
build: Fix manpage generation at dist time

The AsciiDoc API only exposes the capabilities of asciidoc, but not
the related a2x tool. Fix generating the manpages by shelling out
to the command line tool instead.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4320

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1859>

5 years agoextension-tool: Always print extension location after its creation
Leleat [Fri, 21 May 2021 21:55:28 +0000 (23:55 +0200)]
extension-tool: Always print extension location after its creation

The extension location was only printed, if there was no handler for
the newly created extension. This is confusing for new extension
developers. So always print the extension location.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2515.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1856>

5 years agoworkspaceThumbnail: Destroy thumbnails on destruction
Georges Basile Stavracas Neto [Tue, 25 May 2021 15:03:46 +0000 (12:03 -0300)]
workspaceThumbnail: Destroy thumbnails on destruction

Often, when using multiple monitors, the thumbnails box may be
destroyed before the 'hidden' signal of the Overview is emitted,
which leaves a bunch of lingering signal connections to the
workspace manager.

Call this._destroyThumbnails() in the _onDestroy handler, which
disconnects from workspace manager. This fixes the some of the log
spam that GNOME Shell produces with backtraces of destroyed actors.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1860>

5 years agoextensions-app: Enable hardware acceleration
Florian Müllner [Wed, 19 May 2021 16:23:56 +0000 (18:23 +0200)]
extensions-app: Enable hardware acceleration

GTK4 will make use of it if it's available, so allow it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1854>

5 years agocalendar-server: Fix double-free detection abort
Gustavo Noronha Silva [Tue, 18 May 2021 18:28:43 +0000 (15:28 -0300)]
calendar-server: Fix double-free detection abort

app_notify_events_added uses an intermediate builder to construct an
array that is then added to the main variant using g_variant_builder_add
which should clear the intermediate, but doesn't due to the way it is
passed: by value, rather than as a pointer.

This was debugged with the help of Eduardo Habkost, who believes it
works on x86 due to big structs being passed as pointers.

Fixed: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3440
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1848>